home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" /*No:UNIQUE_STRING.us_put*/ /*No:UNIQUE_STRING.us_character_bits*/ /*No:UNIQUE_STRING.us_none*/ /*No:UNIQUE_STRING.us_dictionary*/ /*No:UNIQUE_STRING.us_minimum_integer*/ /*No:UNIQUE_STRING.us_character_ref*/ /*No:UNIQUE_STRING.us_integer*/ /*No:UNIQUE_STRING.us_copy*/ /*No:UNIQUE_STRING.us_generator*/ /*No:UNIQUE_STRING.us_minimum_character_code*/ /*No:UNIQUE_STRING.us_maximum_integer*/ /*No:UNIQUE_STRING.us_standard_copy*/ /*No:UNIQUE_STRING.us_maximum_character_code*/ /*No:UNIQUE_STRING.us_minimum_real*/ /*No:UNIQUE_STRING.us_sprintf_double*/ /*No:UNIQUE_STRING.us_with_capacity*/ void r902key_pfx_ifx(T0* a1){ char _c=0; int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if (r3is_letter(_c)) { r7extend(((T7*)(oBC902pfx_ifx)),_c); } else { r2append_in(((unsigned char)_c),oBC902pfx_ifx); } /*FI*/_i=(_i)+(1); } } /*No:UNIQUE_STRING.us_backslash_backslash*/ /*No:UNIQUE_STRING.us_compile_to_jvm*/ /*No:UNIQUE_STRING.us_maximum_real*/ /*No:UNIQUE_STRING.us_conforms_to*/ /*No:UNIQUE_STRING.us_and*/ /*No:UNIQUE_STRING.us_print*/ /*No:UNIQUE_STRING.us_print_on*/ /*No:UNIQUE_STRING.us_double_ref*/ /*No:UNIQUE_STRING.us_and_then*/ /*No:UNIQUE_STRING.us_put_0*/ /*No:UNIQUE_STRING.us_array*/ /*No:UNIQUE_STRING.us_from_pointer*/ /*No:UNIQUE_STRING.us_lower*/ /*No:UNIQUE_STRING.us_std_neq*/ /*No:UNIQUE_STRING.us_pointer_bits*/ /*No:UNIQUE_STRING.us_slash_slash*/ /*No:UNIQUE_STRING.us_double_floor*/ /*No:UNIQUE_STRING.us_integer_bits*/ /*No:UNIQUE_STRING.us_stdout*/ /*No:UNIQUE_STRING.us_capacity*/ /*No:UNIQUE_STRING.us_put_1*/ /*No:UNIQUE_STRING.make*/ /*No:UNIQUE_STRING.us_current*/ /*No:UNIQUE_STRING.us_item*/ T0* r902read(T0* a1){ T0* R=NULL; R=r794at(((T794*)(oBC902memory)),a1); return R; } /*No:UNIQUE_STRING.us_pointer*/ /*No:UNIQUE_STRING.us_string*/ /*No:UNIQUE_STRING.us_se_remove*/ /*No:UNIQUE_STRING.us_flush_stream*/ /*No:UNIQUE_STRING.us_realloc*/ /*No:UNIQUE_STRING.us_like_current*/ /*No:UNIQUE_STRING.us_floor*/ /*No:UNIQUE_STRING.us_double_bits*/ /*No:UNIQUE_STRING.us_or_else*/ /*No:UNIQUE_STRING.us_blank*/ /*No:UNIQUE_STRING.us_is_expanded_type*/ /*No:UNIQUE_STRING.us_std_output*/ /*No:UNIQUE_STRING.us_fclose*/ T0* r902item(T0* a1){ T0* R=NULL; r902initialize(); /*IF*/if (r794has(((T794*)(oBC902memory)),a1)) { R=r902read(a1); } else { R=r7twin(((T7*)a1)); r902add1(R); } /*FI*/return R; } /*No:UNIQUE_STRING.us_ge*/ /*No:UNIQUE_STRING.us_neq*/ /*No:UNIQUE_STRING.us_stdin*/ /*No:UNIQUE_STRING.us_slash*/ /*No:UNIQUE_STRING.us_compile_to_c*/ /*No:UNIQUE_STRING.us_crash*/ /*No:UNIQUE_STRING.us_c_inline_c*/ /*No:UNIQUE_STRING.us_standard_twin*/ /*No:UNIQUE_STRING.us_truncated_to_integer*/ /*No:UNIQUE_STRING.us_write_byte*/ /*No:UNIQUE_STRING.us_stderr*/ /*No:UNIQUE_STRING.us_se_system*/ /*No:UNIQUE_STRING.us_std_file_read*/ /*No:UNIQUE_STRING.us_sfr_open*/ /*No:UNIQUE_STRING.us_sfw_open*/ /*No:UNIQUE_STRING.us_character*/ /*No:UNIQUE_STRING.us_pointer_ref*/ /*No:UNIQUE_STRING.us_shift_left*/ /*No:UNIQUE_STRING.us_std_error*/ T0*oBC902pfx_ifx=NULL; /*No:UNIQUE_STRING.us_le*/ /*No:UNIQUE_STRING.us_make*/ /*No:UNIQUE_STRING.us_integer_ref*/ /*No:UNIQUE_STRING.us_bitn*/ /*No:UNIQUE_STRING.us_twin*/ /*No:UNIQUE_STRING.us_bit_n*/ /*No:UNIQUE_STRING.us_real*/ /*No:UNIQUE_STRING.us_die_with_code*/ /*No:UNIQUE_STRING.us_implies*/ /*No:UNIQUE_STRING.us_result*/ /*No:UNIQUE_STRING.us_generating_type*/ /*No:UNIQUE_STRING.us_is_basic_expanded_type*/ T0* r902for_prefix(T0* a1){ T0* R=NULL; r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms1_902)); r902key_pfx_ifx(a1); R=r902item(oBC902pfx_ifx); return R; } T0* r902for_infix(T0* a1){ T0* R=NULL; r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms2_902)); r902key_pfx_ifx(a1); R=r902item(oBC902pfx_ifx); return R; } /*No:UNIQUE_STRING.us_bit*/ /*No:UNIQUE_STRING.us_minus*/ /*No:UNIQUE_STRING.us_shift_right*/ /*No:UNIQUE_STRING.us_count*/ /*No:UNIQUE_STRING.us_se_argc*/ /*No:UNIQUE_STRING.us_storage*/ /*No:UNIQUE_STRING.us_object_size*/ /*No:UNIQUE_STRING.us_se_rename*/ /*No:UNIQUE_STRING.us_memory*/ /*No:UNIQUE_STRING.us_code*/ /*No:UNIQUE_STRING.us_sprintf_pointer*/ /*No:UNIQUE_STRING.us_standard_is_equal*/ /*No:UNIQUE_STRING.us_real_ref*/ /*No:UNIQUE_STRING.us_boolean*/ /*No:UNIQUE_STRING.us_is_not_void*/ /*No:UNIQUE_STRING.us_at*/ /*No:UNIQUE_STRING.us_eq*/ /*No:UNIQUE_STRING.us_double*/ /*No:UNIQUE_STRING.us_pointer_size*/ /*No:UNIQUE_STRING.us_to_double*/ /*No:UNIQUE_STRING.us_xor*/ /*No:UNIQUE_STRING.us_io*/ /*No:UNIQUE_STRING.us_platform*/ /*No:UNIQUE_STRING.us_is_equal*/ /*No:UNIQUE_STRING.us_to_bit*/ /*No:UNIQUE_STRING.us_bit_n_ref*/ /*No:UNIQUE_STRING.us_to_character*/ /*No:UNIQUE_STRING.us_se_string2double*/ /*No:UNIQUE_STRING.us_free*/ /*No:UNIQUE_STRING.us_read_byte*/ /*No:UNIQUE_STRING.us_not*/ /*No:UNIQUE_STRING.us_void*/ /*No:UNIQUE_STRING.us_muls*/ /*No:UNIQUE_STRING.us_trace_switch*/ /*No:UNIQUE_STRING.us_feof*/ /*No:UNIQUE_STRING.us_boolean_bits*/ /*No:UNIQUE_STRING.count*/ /*No:UNIQUE_STRING.us_gt*/ /*No:UNIQUE_STRING.us_se_getenv*/ /*No:UNIQUE_STRING.us_to_integer*/ /*No:UNIQUE_STRING.us_native_array_character*/ /*No:UNIQUE_STRING.us_calloc*/ /*No:UNIQUE_STRING.us_to_pointer*/ /*No:UNIQUE_STRING.us_clear_all*/ /*No:UNIQUE_STRING.us_real_bits*/ /*No:UNIQUE_STRING.us_plus*/ /*No:UNIQUE_STRING.us_boolean_ref*/ /*No:UNIQUE_STRING.us_c_inline_h*/ /*No:UNIQUE_STRING.us_element_sizeof*/ /*No:UNIQUE_STRING.us_upper*/ /*No:UNIQUE_STRING.us_native_array*/ void r902add1(T0* a1){ r794put(((T794*)(oBC902memory)),a1,a1); } /*No:UNIQUE_STRING.us_pow*/ void r902add2(T0* a1){ /*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_case_insensitive/*0*/) { r7to_lower(((T7*)a1)); } /*FI*/r902add1(a1); } T0*oBC902memory=NULL; /*No:UNIQUE_STRING.us_eof_code*/ /*No:UNIQUE_STRING.us_print_run_time_stack*/ int fBC902initialize=0; void r902initialize(void){ if (fBC902initialize==0){ fBC902initialize=1; r902add1(((T0*)ms1_473)); r902add1(((T0*)ms2_473)); r902add1(((T0*)ms3_473)); r902add1(((T0*)ms4_473)); r902add1(((T0*)ms5_473)); r902add1(((T0*)ms6_473)); r902add1(((T0*)ms7_473)); r902add1(((T0*)ms8_473)); r902add1(((T0*)ms9_473)); r902add1(((T0*)ms10_473)); r902add1(((T0*)ms11_473)); r902add1(((T0*)ms12_473)); r902add1(((T0*)ms13_473)); r902add1(((T0*)ms14_473)); r902add1(((T0*)ms15_473)); r902add1(((T0*)ms16_473)); r902add1(((T0*)ms17_473)); r902add1(((T0*)ms18_473)); r902add1(((T0*)ms19_473)); r902add1(((T0*)ms20_473)); r902add1(((T0*)ms21_473)); r902add1(((T0*)ms22_473)); r902add1(((T0*)ms23_473)); r902add1(((T0*)ms24_473)); r902add1(((T0*)ms25_473)); r902add1(((T0*)ms26_473)); r902add1(((T0*)ms27_473)); r902add1(((T0*)ms28_473)); r902add1(((T0*)ms29_473)); r902add1(((T0*)ms30_473)); r902add1(((T0*)ms31_473)); r902add1(((T0*)ms32_473)); r902add1(((T0*)ms33_473)); r902add1(((T0*)ms34_473)); r902add1(((T0*)ms35_473)); r902add1(((T0*)ms36_473)); r902add1(((T0*)ms37_473)); r902add1(((T0*)ms38_473)); r902add1(((T0*)ms39_473)); r902add1(((T0*)ms40_473)); r902add1(((T0*)ms41_473)); r902add1(((T0*)ms42_473)); r902add1(((T0*)ms43_473)); r902add1(((T0*)ms44_473)); r902add1(((T0*)ms45_473)); r902add1(((T0*)ms46_473)); r902add1(((T0*)ms47_473)); r902add1(((T0*)ms48_473)); r902add1(((T0*)ms49_473)); r902add1(((T0*)ms50_473)); r902add1(((T0*)ms51_473)); r902add1(((T0*)ms52_473)); r902add1(((T0*)ms53_473)); r902add1(((T0*)ms54_473)); r902add1(((T0*)ms55_473)); r902add1(((T0*)ms56_473)); r902add1(((T0*)ms57_473)); r902add1(((T0*)ms58_473)); r902add1(((T0*)ms59_473)); r902add1(((T0*)ms60_473)); r902add1(((T0*)ms61_473)); r902add1(((T0*)ms62_473)); r902add1(((T0*)ms63_473)); r902add1(((T0*)ms64_473)); r902add1(((T0*)ms65_473)); r902add1(((T0*)ms66_473)); r902add1(((T0*)ms67_473)); r902add1(((T0*)ms68_473)); r902add1(((T0*)ms69_473)); r902add1(((T0*)ms70_473)); r902add1(((T0*)ms71_473)); r902add1(((T0*)ms72_473)); r902add1(((T0*)ms73_473)); r902add1(((T0*)ms74_473)); r902add1(((T0*)ms75_473)); r902add1(((T0*)ms76_473)); r902add1(((T0*)ms77_473)); r902add1(((T0*)ms78_473)); r902add1(((T0*)ms79_473)); r902add1(((T0*)ms80_473)); r902add1(((T0*)ms81_473)); r902add1(((T0*)ms82_473)); r902add1(((T0*)ms83_473)); r902add1(((T0*)ms84_473)); r902add1(((T0*)ms85_473)); r902add1(((T0*)ms86_473)); r902add1(((T0*)ms87_473)); r902add1(((T0*)ms88_473)); r902add1(((T0*)ms89_473)); r902add2(((T0*)ms90_473)); r902add2(((T0*)ms91_473)); r902add2(((T0*)ms92_473)); r902add2(((T0*)ms93_473)); r902add2(((T0*)ms94_473)); r902add2(((T0*)ms95_473)); r902add2(((T0*)ms96_473)); r902add2(((T0*)ms97_473)); r902add1(((T0*)ms98_473)); r902add1(((T0*)ms99_473)); r902add1(((T0*)ms100_473)); r902add1(((T0*)ms101_473)); r902add1(((T0*)ms102_473)); r902add1(((T0*)ms103_473)); r902add1(((T0*)ms104_473)); r902add1(((T0*)ms105_473)); r902add1(((T0*)ms106_473)); r902add1(((T0*)ms107_473)); r902add1(((T0*)ms108_473)); r902add1(((T0*)ms109_473)); r902add1(((T0*)ms110_473)); r902add1(((T0*)ms111_473)); r902add1(((T0*)ms112_473)); r902add1(((T0*)ms113_473)); r902add1(((T0*)ms114_473)); r902add1(((T0*)ms115_473)); r902add1(((T0*)ms116_473)); r902add1(((T0*)ms117_473)); r902add1(((T0*)ms118_473)); r902add1(((T0*)ms119_473)); r902add1(((T0*)ms120_473)); r902add1(((T0*)ms121_473)); r902add1(((T0*)ms122_473)); r902add1(((T0*)ms123_473)); r902add1(((T0*)ms124_473)); r902add1(((T0*)ms125_473)); r902add1(((T0*)ms126_473)); r902add1(((T0*)ms127_473)); r902add1(((T0*)ms128_473)); r902add1(((T0*)ms129_473)); r902add1(((T0*)ms130_473)); r902add1(((T0*)ms131_473)); r902add1(((T0*)ms132_473)); r902add1(((T0*)ms133_473)); r902add1(((T0*)ms134_473)); r902add1(((T0*)ms135_473)); r902add1(((T0*)ms136_473)); r902add1(((T0*)ms137_473)); r902add1(((T0*)ms138_473)); r902add1(((T0*)ms139_473)); r902add1(((T0*)ms140_473)); r902add1(((T0*)ms141_473)); r902add1(((T0*)ms142_473)); r902add1(((T0*)ms143_473)); r902add1(((T0*)ms144_473)); r902add1(((T0*)ms145_473)); r902add1(((T0*)ms146_473)); r902add1(((T0*)ms147_473)); }} /*No:UNIQUE_STRING.us_malloc*/ /*No:UNIQUE_STRING.us_fixed_array*/ /*No:UNIQUE_STRING.us_std_input*/ /*No:UNIQUE_STRING.us_lt*/ /*No:UNIQUE_STRING.us_minimum_double*/ /*No:UNIQUE_STRING.us_se_argv*/ /*No:UNIQUE_STRING.us_any*/ /*No:UNIQUE_STRING.us_or*/ /*No:UNIQUE_STRING.us_general*/ /*No:UNIQUE_STRING.us_maximum_double*/ /*No:UNIQUE_STRING.us_to_real*/ void r548sort_running(T0* a1){ int _moved=0; int _buble=0; int _max=0; int _min=0; _max=(((T396*)((T396*)a1)))->_upper/*8*/; _min=1; _moved=1; while (!(!(_moved))) { _moved=0; /*IF*/if (((_max)-(_min))>(0)) { _buble=(_min)+(1); while (!((_buble)>(_max))) { /*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),(_buble)-(1))))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)) { r396swap(((T396*)a1),(_buble)-(1),_buble); _moved=1; } /*FI*/_buble=(_buble)+(1); } _max=(_max)-(1); } /*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) { _moved=0; _buble=(_max)-(1); while (!((_buble)<(_min))) { /*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),(_buble)+(1))))))->_id/*4*/)) { r396swap(((T396*)a1),_buble,(_buble)+(1)); _moved=1; } /*FI*/_buble=(_buble)-(1); } _min=(_min)+(1); } /*FI*/} } void r548define1(T548* C){ int _j=0; int _i=0; r324swap_on_h(((T324*)(oBC364cpp))); r306put_string(((T306*)(oBC364echo)),((T0*)ms1_548)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_548)); /*]*/ r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms3_548),((T0*)ms117_470)); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms4_548),((T0*)ms117_470)); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms5_548),((T0*)ms117_470)); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms6_548),((T0*)ms117_470)); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms7_548),((T0*)ms8_548)); r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms9_548),'0'); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms10_548),((T0*)ms117_470)); r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms11_548),((T0*)ms12_548)); r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms13_548),'0'); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms14_548)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),2048); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms15_548)); /*]*/ _i=(2048)-(2); _j=7; while (!((_i)==(0))) { /*IF*/if ((_j)==(0)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _j=7; } else { _j=(_j)-(1); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms117_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _i=(_i)-(1); } /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms117_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\175'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\73'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324swap_on_h(((T324*)(oBC364cpp))); /*IF*/if ((((T548*)C))->_info_flag/*4*/) { r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms16_548),'0'); } /*FI*/} void r548define2(T548* C){ T0* _rcd=NULL; T0* _rc=NULL; int _i=0; _rcd=oBC604run_class_dictionary; r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms17_548),((T0*)ms18_548)); r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms19_548),((T0*)ms20_548)); r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms21_548),((T0*)ms22_548)); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0); /*]*/ r7append(((T7*)(oBC548body)),((T0*)ms23_548)); /*IF*/if ((((T548*)C))->_info_flag/*4*/) { r7append(((T7*)(oBC548body)),((T0*)ms24_548)); } /*FI*/r340gc_mark_in(oBC548body); r916gc_mark_in(oBC548body); r548call_gc_sweep(_rcd); r7append(((T7*)(oBC548body)),((T0*)ms25_548)); r2append_in((2048)-(1),oBC548body); r7append(((T7*)(oBC548body)),((T0*)ms26_548)); r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms27_548),oBC548body); r324swap_on_h(((T324*)(oBC364cpp))); _i=1; while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) { _rc=r250item(((T250*)_rcd),_i); r355gc_define1(((T355*)_rc)); _i=(_i)+(1); } /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ _i=1; while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) { _rc=r250item(((T250*)_rcd),_i); r355gc_define2(((T355*)_rc)); _i=(_i)+(1); } _i=(((T187*)((T187*)(oBC548run_class_list))))->_upper/*8*/; while (!((_i)<(0))) { r548switch_for(C,/*(IRF4.6item*/((((T187*)((T187*)(oBC548run_class_list))))->_storage/*0*/)[_i]/*)*/); _i=(_i)-(1); } /*IF*/if ((((T548*)C))->_info_flag/*4*/) { r548define_gc_info(_rcd); } /*FI*/} int r548threshold_start(int a1){ int R=0; double _log2_nb=0; int _nb=0; R=9; {int z1=a1; if((7==z1)||(9==z1)){ _nb=/*(IRF4.9count*//*(IRF4.6count*/((((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/)+(1)/*)*//*)*/; /*IF*/if ((_nb)>(0)) { _log2_nb=(r2log(_nb))/(r2log(2)); _nb=(r5rounded(_log2_nb))+(2); /*IF*/if ((_nb)>(R)) { R=_nb; } /*FI*/} /*FI*/} } return R; } /*No:GC_HANDLER.info_flag*/ void r548define_gc_info(T0* a1){ T0* _rc=NULL; int _i=0; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548header)))))->_count)=(0); /*]*/ r7append(((T7*)(oBC548header)),((T0*)ms133_470)); r7extend(((T7*)(oBC548header)),'\40'); r7append(((T7*)(oBC548header)),((T0*)ms106_470)); r7append(((T7*)(oBC548header)),((T0*)ms97_470)); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0); /*]*/ _i=1; while (!((_i)>((((T250*)((T250*)a1)))->_count/*40*/))) { _rc=r250item(((T250*)a1),_i); r355gc_info_in(((T355*)_rc),oBC548body); _i=(_i)+(1); } r7append(((T7*)(oBC548body)),((T0*)ms42_548)); r324put_c_function(((T324*)(oBC364cpp)),oBC548header,oBC548body); } /*No:GC_HANDLER.fz_t0_star*/ T0*oBC548header=NULL; /*No:GC_HANDLER.make*/ /*No:GC_HANDLER.fz_sizeof*/ /*No:GC_HANDLER.fz_00*/ /*No:GC_HANDLER.fz_cast_void_star*/ /*No:GC_HANDLER.fz_gc_info*/ /*No:GC_HANDLER.fz_null*/ /*No:GC_HANDLER.fz_c_if_neq_null*/ /*No:GC_HANDLER.fz_13*/ void r548switch_for(T548* C,T0* a1){ T0* _r=NULL; T0* _ct=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548header)))))->_count)=(0); /*]*/ r7append(((T7*)(oBC548header)),((T0*)ms133_470)); r7extend(((T7*)(oBC548header)),'\40'); r7extend(((T7*)(oBC548header)),'X'); _ct=(((T355*)((T355*)a1)))->_current_type/*0*/; X291gc_mark_in(_ct,oBC548header); r7extend(((T7*)(oBC548header)),'\50'); r7append(((T7*)(oBC548header)),((T0*)ms128_470)); r7extend(((T7*)(oBC548header)),'o'); r7extend(((T7*)(oBC548header)),'\51'); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0); /*]*/ _r=(((T355*)((T355*)a1)))->_running/*12*/; r548sort_running(_r); r7append(((T7*)(oBC548body)),((T0*)ms38_548)); r548c_dicho(C,_r,1,(((T396*)((T396*)_r)))->_upper/*8*/); r7extend(((T7*)(oBC548body)),'\175'); r324put_c_function(((T324*)(oBC364cpp)),oBC548header,oBC548body); } /*No:GC_HANDLER.fz_new*/ /*No:GC_HANDLER.fz_c_void_args*/ void r548call_gc_sweep(T0* a1){ T0* _rc=NULL; int _i=0; _i=1; while (!((_i)>((((T250*)((T250*)a1)))->_count/*40*/))) { _rc=r250item(((T250*)a1),_i); r355call_gc_sweep_in(((T355*)_rc),oBC548body); _i=(_i)+(1); } } T0*oBC548body=NULL; void r548set_info_flag(T548* C){ C->_is_on=1; C->_info_flag=1; } /*No:GC_HANDLER.nafl_size*/ void r548c_dicho(T548* C,T0* a1,int a2,int a3){ T0* _rc=NULL; int _m=0; /*IF*/if ((a2)==(a3)) { _rc=r396item(((T396*)a1),a2); X291gc_mark_in((((T355*)((T355*)_rc)))->_current_type/*0*/,oBC548body); r7extend(((T7*)(oBC548body)),'\50'); r7extend(((T7*)(oBC548body)),'\50'); r7extend(((T7*)(oBC548body)),'T'); r2append_in((((T355*)((T355*)_rc)))->_id/*4*/,oBC548body); r7extend(((T7*)(oBC548body)),'\52'); r7extend(((T7*)(oBC548body)),'\51'); r7extend(((T7*)(oBC548body)),'o'); r7extend(((T7*)(oBC548body)),'\51'); r7append(((T7*)(oBC548body)),((T0*)ms134_470)); } else { _m=((a2)+(a3))/(2); _rc=r396item(((T396*)a1),_m); r7append(((T7*)(oBC548body)),((T0*)ms39_548)); r2append_in((((T355*)((T355*)_rc)))->_id/*4*/,oBC548body); r7append(((T7*)(oBC548body)),((T0*)ms40_548)); r548c_dicho(C,a1,a2,_m); r7append(((T7*)(oBC548body)),((T0*)ms41_548)); r548c_dicho(C,a1,(_m)+(1),a3); r7extend(((T7*)(oBC548body)),'\175'); } /*FI*/} void r548put_new(T548* C,T0* a1){ int _id=0; T0* _ct=NULL; _ct=(((T355*)((T355*)a1)))->_current_type/*0*/; _id=(((T355*)((T355*)a1)))->_id/*4*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC548body)),'T'); r2append_in(_id,oBC548body); r7extend(((T7*)(oBC548body)),'\52'); r7extend(((T7*)(oBC548body)),'n'); r7extend(((T7*)(oBC548body)),'\75'); /*IF*/if ((((T548*)C))->_is_on/*0*/) { r7append(((T7*)(oBC548body)),((T0*)ms115_470)); r2append_in(_id,oBC548body); r7extend(((T7*)(oBC548body)),'\50'); r7extend(((T7*)(oBC548body)),'\51'); } else if (X291need_c_struct(_ct)) { r7append(((T7*)(oBC548body)),((T0*)ms88_473)); r7extend(((T7*)(oBC548body)),'\50'); r7append(((T7*)(oBC548body)),((T0*)ms123_470)); r7extend(((T7*)(oBC548body)),'\50'); r7extend(((T7*)(oBC548body)),'\52'); r7extend(((T7*)(oBC548body)),'n'); r7extend(((T7*)(oBC548body)),'\51'); r7extend(((T7*)(oBC548body)),'\51'); r7append(((T7*)(oBC548body)),((T0*)ms134_470)); r7extend(((T7*)(oBC548body)),'\52'); r7extend(((T7*)(oBC548body)),'n'); r7extend(((T7*)(oBC548body)),'\75'); r7extend(((T7*)(oBC548body)),'M'); r2append_in(_id,oBC548body); } else { r7append(((T7*)(oBC548body)),((T0*)ms88_473)); r7extend(((T7*)(oBC548body)),'\50'); r7extend(((T7*)(oBC548body)),'1'); r7extend(((T7*)(oBC548body)),'\51'); } /*FI*/r7append(((T7*)(oBC548body)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC548body); /*]*/ } /*No:GC_HANDLER.fz_void*/ /*No:GC_HANDLER.is_on*/ void r548native_array_mark(T0* a1,T0* a2){ T0* _r=NULL; T0* _ct=NULL; _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; /*IF*/if (X291is_reference(_ct)) { r7append(((T7*)a1),((T0*)ms37_548)); } /*FI*/_r=(((T355*)((T355*)a2)))->_running/*12*/; /*IF*/if ((r396count(((T396*)_r)))>(1)) { /*IF*/if (!(r187fast_has(((T187*)(oBC548run_class_list)),a2))) { r187add_last(((T187*)(oBC548run_class_list)),a2); } /*FI*/r7extend(((T7*)a1),'X'); X291gc_mark_in(_ct,a1); } else { X291gc_mark_in((((T355*)((T355*)(r396first(((T396*)_r))))))->_current_type/*0*/,a1); } /*FI*/r7extend(((T7*)a1),'\50'); /*IF*/if (X291is_expanded(_ct)) { r7extend(((T7*)a1),'\46'); } else { r7append(((T7*)a1),((T0*)ms86_470)); } /*FI*/r7extend(((T7*)a1),'o'); r7extend(((T7*)a1),'\51'); r7append(((T7*)a1),((T0*)ms134_470)); } void r548call_gc_mark(T0* a1,T0* a2){ T0* _r=NULL; T0* _field=NULL; T0* _ct=NULL; T0* _rc=NULL; _ct=(((T820*)((T820*)a2)))->_result_type/*24*/; /*IF*/if (X291need_gc_mark_function(_ct)) { _field=X776to_string((((T820*)((T820*)a2)))->_name/*16*/); /*IF*/if (X291is_expanded(_ct)) { /*IF*/if (X291is_user_expanded(_ct)) { r7append(((T7*)a1),((T0*)ms29_548)); } else { r7append(((T7*)a1),((T0*)ms88_470)); r7append(((T7*)a1),((T0*)ms30_548)); r7append(((T7*)a1),_field); r7append(((T7*)a1),((T0*)ms147_470)); X291gc_mark_in(_ct,a1); r7append(((T7*)a1),((T0*)ms31_548)); r7append(((T7*)a1),_field); r7append(((T7*)a1),((T0*)ms32_548)); } /*FI*/} else { _rc=X291run_class(_ct); _r=(((T355*)((T355*)_rc)))->_running/*12*/; r7append(((T7*)a1),((T0*)ms33_548)); r7append(((T7*)a1),_field); r7append(((T7*)a1),((T0*)ms34_548)); /*IF*/if ((r396count(((T396*)_r)))>(1)) { /*IF*/if (!(r187fast_has(((T187*)(oBC548run_class_list)),_rc))) { r187add_last(((T187*)(oBC548run_class_list)),_rc); } /*FI*/r7extend(((T7*)a1),'X'); X291gc_mark_in(_ct,a1); } else { X291gc_mark_in((((T355*)((T355*)(r396first(((T396*)_r))))))->_current_type/*0*/,a1); } /*FI*/r7append(((T7*)a1),((T0*)ms35_548)); r7append(((T7*)a1),_field); r7append(((T7*)a1),((T0*)ms36_548)); } /*FI*/} /*FI*/} T0*oBC548run_class_list=NULL; /*No:GC_HANDLER.initialize*/ /*No:GC_HANDLER.us_malloc*/ /*No:GC_HANDLER.enable*/ void r390check_creation_clause(T390* C,T0* a1){ T0* _args=NULL; T0* _top=NULL; T0* _bottom=NULL; T0* _fn=NULL; _fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/); /*IF*/if (X291is_like_current(a1)) { _top=r627base_class(((T627*)(X776start_position(_fn)))); _bottom=X291base_class(a1); _fn=r605new_name_of(((T605*)_bottom),_top,_fn); /*IF*/if ((_fn)==((void*)(NULL))) { _fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=((T0*)ms143_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms1_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/C->_run_feature=r355get_feature(((T355*)(X291run_class(a1))),_fn); /*IF*/if (((((T390*)C))->_run_feature/*16*/)==((void*)(NULL))) { r390cp_not_found(C,_fn); } /*FI*//*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if (!(X291has_creation(a1,_fn))) { r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(_fn)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms2_394); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/X496add_client((((T390*)C))->_run_feature/*16*/,r592run_class(((T592*)((((T390*)C))->_run_compound/*4*/)))); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/)); r683add_position(X776start_position(_fn)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (((r390arg_count(C))==(0))&&((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_arguments/*20*/))!=((void*)(NULL)))) { r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/)); r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if ((r390arg_count(C))>(0)) { _args=X431to_runnable(X173arguments((((T390*)C))->_call/*20*/),r390current_type(C)); /*IF*/if ((_args)==((void*)(NULL))) { r390error(X431start_position(X173arguments((((T390*)C))->_call/*20*/)),((T0*)ms56_470)); } else { X431match_with(_args,(((T390*)C))->_run_feature/*16*/); } /*FI*/} /*FI*/C->_call=X173make_runnable((((T390*)C))->_call/*20*/,(((T390*)C))->_run_compound/*4*/,(((T390*)C))->_writable/*12*/,_args,(((T390*)C))->_run_feature/*16*/); } T0* r390add_comment(T390* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r390check_created_type(T390* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type(a1); /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) { } else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) { r683add_type(_rt,((T0*)ms2_747)); r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (X291is_formal_generic(a1)) { r683add_position((((T390*)C))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms4_747); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(a1,((T0*)ms5_747)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt)))); } void r390cp_not_found(T390* C,T0* a1){ r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/))); r683add_position(X776start_position(a1)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms5_394); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:CREATION_CALL_3.writable*/ /*No:CREATION_CALL_3.us_dictionary*/ /*No:CREATION_CALL_3.us_with_capacity*/ /*No:CREATION_CALL_3.fz_bad_arguments*/ /*No:CREATION_CALL_3.us_array*/ void r390make(T390* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_writable=a2; C->_call=a3; } T0* r390run_args(T390* C){ T0* R=NULL; R=X173arguments((((T390*)C))->_call/*20*/); return R; } /*No:CREATION_CALL_3.us_string*/ int r390arg_count(T390* C){ int R=0; /*IF*/if (((((T390*)C))->_call/*20*/)!=((void*)(NULL))) { R=X173arg_count((((T390*)C))->_call/*20*/); } /*FI*/return R; } void r390c2c_closing(T390* C,T0* a1){ X662compile_to_c((((T390*)C))->_writable/*12*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ /*IF*/if (r324call_invariant_start(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\73'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\175'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324rs_pop_position(((T324*)(oBC364cpp))); } void r390c2c_clear_expanded(T390* C,int a1){ X662compile_to_c((((T390*)C))->_writable/*12*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='M'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } /*No:CREATION_CALL_3.call*/ /*No:CREATION_CALL_3.run_feature*/ /*No:CREATION_CALL_3.start_position*/ void r390c2c_expanded_initializer(T390* C,T0* a1){ T0* _rf3=NULL; _rf3=X291expanded_initializer(a1); /*IF*/if ((_rf3)!=((void*)(NULL))) { r324expanded_writable(((T324*)(oBC364cpp)),_rf3,(((T390*)C))->_writable/*12*/); } /*FI*/} /*No:CREATION_CALL_3.us_blank*/ void r390compile_to_c(T390* C){ T0* _t=NULL; _t=X291run_type(X662result_type((((T390*)C))->_writable/*12*/)); /*IF*/if (X291is_reference(_t)) { r390c2c_opening(C,_t); r324push_new(((T324*)(oBC364cpp)),(((T390*)C))->_run_feature/*16*/,r390run_args(C)); X496mapping_c((((T390*)C))->_run_feature/*16*/); r324pop(((T324*)(oBC364cpp))); r390c2c_closing(C,_t); } else { r390c2c_clear_expanded(C,X291id(_t)); r390c2c_expanded_initializer(C,_t); } /*FI*/} /*No:CREATION_CALL_3.fz_00*/ T0* r390to_runnable(T390* C,T0* a1){ T0* R=NULL; T0* _t=NULL; /*IF*/if (((((T390*)C))->_run_compound/*4*/)==((void*)(NULL))) { r390check_writable(C,a1); _t=X662result_type((((T390*)C))->_writable/*12*/); r390check_created_type(C,_t); r390check_creation_clause(C,_t); R=(T0*)C; } else { {T390*n=malloc(sizeof(*n)); *n=M390; r390make(n,(((T390*)C))->_start_position/*8*/,(((T390*)C))->_writable/*12*/,(((T390*)C))->_call/*20*/); R=(T0*)n; } R=r390to_runnable(((T390*)R),a1); } /*FI*/return R; } /*No:CREATION_CALL_3.us_std_file_read*/ /*No:CREATION_CALL_3.fz_03*/ /*No:CREATION_CALL_3.us_make*/ T0*oBC394make_precomputable=NULL; T0* r390current_type(T390* C){ T0* R=NULL; /*IF*/if (((((T390*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T390*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } void r390c2c_opening(T390* C,T0* a1){ T0* _rc=NULL; _rc=X291run_class(a1); r324rs_push_position(((T324*)(oBC364cpp)),'5',(((T390*)C))->_start_position/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\173'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r548put_new(((T548*)(oBC364gc_handler)),_rc); r324expanded_attributes(((T324*)(oBC364cpp)),a1); } /*No:CREATION_CALL_3.fz_09*/ /*No:CREATION_CALL_3.run_compound*/ /*No:CREATION_CALL_3.fz_dot*/ int r390is_pre_computable(T390* C){ int R=0; T0* _rfctbcn=NULL; T0* _rfn=NULL; T0* _rfct=NULL; /*IF*/if (X662is_result((((T390*)C))->_writable/*12*/)) { /*IF*/if ((r390run_args(C))==((void*)(NULL))) { R=1; } else { R=X431is_pre_computable(r390run_args(C)); } /*FI*//*IF*/if (R) { /*IF*/if (X496is_pre_computable((((T390*)C))->_run_feature/*16*/)) { R=1; } else { _rfct=/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_current_type/*4*/); _rfctbcn=(((T451*)((T451*)((((T605*)((T605*)(X291base_class(_rfct)))))->_base_class_name/*24*/))))->_to_string/*0*/; _rfn=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_name/*16*/)); /*IF*/if ((((T0*)ms89_473))==((void*)(_rfn))) { R=r52has(((T52*)(oBC394make_precomputable)),_rfctbcn); } else if ((((T0*)ms51_473))==((void*)(_rfn))) { R=(((T0*)ms25_473))==((void*)(_rfctbcn)); } else if ((((T0*)ms141_473))==((void*)(_rfn))) { /*IF*/if ((((T0*)ms2_473))==((void*)(_rfctbcn))) { R=1; } else if ((((T0*)ms13_473))==((void*)(_rfctbcn))) { R=1; } else if ((((T0*)ms10_473))==((void*)(_rfctbcn))) { R=1; } else { R=0; } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:CREATION_CALL_3.fz_cast_t0_star*/ int r390use_current(T390* C){ int R=0; /*IF*/if ((r390run_args(C))!=((void*)(NULL))) { R=X431use_current(r390run_args(C)); } /*FI*/R=(R)||(X662use_current((((T390*)C))->_writable/*12*/)); return R; } void r390check_writable(T390* C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=X662to_runnable((((T390*)C))->_writable/*12*/,r390current_type(C)); /*IF*/if ((_w)==((void*)(NULL))) { r683add_position(X662start_position((((T390*)C))->_writable/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { C->_writable=_w; } /*FI*/} void r390error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CREATION_CALL_3.fatal_error*/ /*No:CREATION_CALL_3.end_mark_comment*/ /*No:CREATION_CALL_3.us_fixed_array*/ void r390afd_check(T390* C){ /*IF*/if ((r390arg_count(C))>(0)) { X431afd_check(r390run_args(C)); } /*FI*/} void r699c_define(T699* C){ int _id=0; _id=X291id((((T699*)C))->_current_type/*12*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC699cdm)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC699cdm)),'T'); r2append_in(_id,oBC699cdm); r7extend(((T7*)(oBC699cdm)),'\52'); r7extend(((T7*)(oBC699cdm)),'i'); r2append_in(_id,oBC699cdm); r7extend(((T7*)(oBC699cdm)),'\50'); r7extend(((T7*)(oBC699cdm)),'T'); r2append_in(_id,oBC699cdm); r7extend(((T7*)(oBC699cdm)),'\52'); r7extend(((T7*)(oBC699cdm)),'C'); r7extend(((T7*)(oBC699cdm)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC699cdm); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ r7copy(((T7*)(oBC699cdm)),((T0*)ms74_699)); r2append_in(_id,oBC699cdm); r7extend(((T7*)(oBC699cdm)),'\135'); r7append(((T7*)(oBC699cdm)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC699cdm); /*]*/ r699compile_to_c(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms75_699)); /*]*/ } void r699add_into(T699* C,T0* a1){ T0* _a=NULL; int _i=0; /*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) { _i=1; while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) { _a=r608item(((T608*)((((T699*)C))->_list/*8*/)),_i); /*IF*/if (!(r608fast_has(((T608*)a1),_a))) { r608add_last(((T608*)a1),_a); } /*FI*/_i=(_i)+(1); } } /*FI*/} void r699from_runnable(T699* C,T0* a1){ C->_list=a1; C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),1)))))->_current_type/*12*/; } void r699make(T699* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; } T0* r699check_assertion_mode(void){ T0* R=NULL; R=((T0*)ms73_699); return R; } /*No:CLASS_INVARIANT.start_position*/ void r699compile_to_c(T699* C){ int _i=0; /*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_596)); /*]*/ _i=1; while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) { /*[IRF3.3set_check_assertion_mode*/((((T324*)(((T324*)(oBC364cpp)))))->_check_assertion_mode)=(r699check_assertion_mode()); /*]*/ r348compile_to_c(((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),_i)))); _i=(_i)+(1); } /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_596)); /*]*/ } /*FI*/} /*No:CLASS_INVARIANT.fz_00*/ T0*oBC699cdm=NULL; /*No:CLASS_INVARIANT.list*/ /*No:CLASS_INVARIANT.current_type*/ /*No:CLASS_INVARIANT.header_comment*/ /*No:COMPILE_TO_C.dos_system*/ /*No:COMPILE_TO_C.fz_system_se*/ /*No:COMPILE_TO_C.fz_sys*/ /*No:COMPILE_TO_C.unix_system*/ /*No:COMPILE_TO_C.exit_failure_code*/ /*No:COMPILE_TO_C.vms_system*/ T0* r111small_eiffel_directory(T111* C){ if (fBC364small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; fBC364small_eiffel_directory=1; R=r111get_environment_variable(C,((T0*)ms121_470)); /*IF*/if ((R)==((void*)(NULL))) { R=r7twin(((T7*)(((T0*)ms121_470)))); r7to_upper(((T7*)R)); R=r111get_environment_variable(C,R); /*IF*/if ((R)!=((void*)(NULL))) { r7to_upper(((T7*)(((T0*)ms121_470)))); } /*FI*/} /*FI*//*IF*/if ((R)==((void*)(NULL))) { R=((T0*)ms1_364); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)<(0))) { _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { r7extend(((T7*)R),'\57'); } else if (!((r7last(((T7*)R)))==(_slash))) { r7extend(((T7*)R),_slash); } /*FI*/oBC364small_eiffel_directory=R;} return oBC364small_eiffel_directory;} /*No:COMPILE_TO_C.root_class*/ T0* r111command_name(void){ T0* R=NULL; R=((T0*)ms58_473); return R; } void r111automat(T111* C){ T0* _a=NULL; int _arg=0; _arg=1; while (!(((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r111command_arguments()))))->_upper/*8*//*)*/))||(((((T111*)C))->_state/*0*/)>(7)))) { _a=r111argument(_arg); {int z1=(((T111*)C))->_state/*0*/; if((0==z1)){ /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) { /*IF*/if (r7has_suffix(((T7*)_a),r111o_suffix(C))) { r324add_c_object(((T324*)(oBC364cpp)),_a); } else if (r7has_suffix(((T7*)_a),((T0*)ms26_364))) { r324add_c_object(((T324*)(oBC364cpp)),_a); } else if (((((T111*)C))->_root_class/*8*/)==((void*)(NULL))) { C->_root_class=_a; /*[IRF3.3set_root_class*/((((T590*)(((T590*)(oBC364run_control)))))->_root_class)=(_a); /*]*/ C->_state=2; } else { r324add_c_compiler_option(((T324*)(oBC364cpp)),_a); } /*FI*/} else if (r7is_equal(ms3_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_boost*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-6); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms4_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms5_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_require_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-4); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms6_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_ensure_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-3); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms7_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_invariant_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-2); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms8_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_loop_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-1); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms9_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_all_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(0); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms10_111,_a)) { /*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) { r111error_level(C,_a); } else { /*[IRF3.3set_debug_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(1); /*]*/ C->_level=_a; } /*FI*/} else if (r7is_equal(ms11_111,_a)) { /*[IRF3.3set_case_insensitive*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_case_insensitive)=(1); /*]*/ } else if (r7is_equal(ms12_111,_a)) { /*[IRF3.3set_no_warning*/((((T683*)(((T683*)(oBC364eh)))))->_no_warning)=(1); /*]*/ } else if (r7is_equal(ms13_111,_a)) { /*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1); /*]*/ } else if (r7is_equal(ms14_111,_a)) { /*[IRF3.3enable*/((((T548*)(((T548*)(oBC364gc_handler)))))->_is_on)=(1); /*]*/ } else if (r7is_equal(ms15_111,_a)) { r548set_info_flag(((T548*)(oBC364gc_handler))); } else if (r7is_equal(ms16_111,_a)) { /*[IRF3.3set_no_strip*/((((T324*)(((T324*)(oBC364cpp)))))->_no_strip)=(1); /*]*/ } else if (r7is_equal(ms17_111,_a)) { /*[IRF3.3set_no_split*/((((T324*)(((T324*)(oBC364cpp)))))->_no_split)=(1); /*]*/ } else if (r7is_equal(ms18_111,_a)) { /*[IRF3.3set_trace*/((((T590*)(((T590*)(oBC364run_control)))))->_trace)=(1); /*]*/ } else if (r7is_equal(ms19_111,_a)) { C->_state=3; } else if (r7is_equal(ms20_111,_a)) { C->_state=4; } else if (r7has_prefix(((T7*)_a),((T0*)ms21_111))) { r324add_c_library(((T324*)(oBC364cpp)),_a); } else if (r7is_equal(ms22_111,_a)) { C->_state=1; } else if (((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))&&((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(2)-(1)]/*)*/)==('o'))) { r7remove_first(((T7*)_a),2); /*[IRF3.3set_output_name*/((((T324*)(((T324*)(oBC364cpp)))))->_output_name)=(_a); /*]*/ /*[IRF3.3set_oflag*/((((T324*)(((T324*)(oBC364cpp)))))->_oflag)=(((T0*)ms23_111)); /*]*/ } else { r324add_c_compiler_option(((T324*)(oBC364cpp)),_a); } /*FI*/} else if((1==z1)){ /*[IRF3.3set_output_name*/((((T324*)(((T324*)(oBC364cpp)))))->_output_name)=(_a); /*]*/ C->_state=0; } else if((2==z1)){ /*IF*/if ((((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))||(r7has_suffix(((T7*)_a),((T0*)ms26_364))))||(r7has_suffix(((T7*)_a),r111o_suffix(C)))) { _arg=(_arg)-(1); } else { C->_start_proc=_a; } /*FI*/C->_state=0; } else if((3==z1)){ /*[IRF3.3clear*/((((T7*)(((T7*)(r324c_compiler(((T324*)(oBC364cpp))))))))->_count)=(0); /*]*/ r7append(((T7*)(r324c_compiler(((T324*)(oBC364cpp))))),_a); C->_state=0; } else {/*[IRF3.3set_cecil_path*/((((T590*)(((T590*)(oBC364run_control)))))->_cecil_path)=(_a); /*]*/ C->_state=0; }} _arg=(_arg)+(1); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) { /*IF*/if (r590boost(((T590*)(oBC364run_control)))) { /*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5); /*]*/ } /*FI*/} /*FI*/r604compile_to_c(((T604*)(oBC364small_eiffel)),(((T111*)C))->_root_class/*8*/,(((T111*)C))->_start_proc/*12*/); } /*FI*/} /*No:COMPILE_TO_C.amiga_system*/ void r111make(T111* C){ C->_start_proc=((T0*)ms89_473); /*[IRF3.3set_drop_comments*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_drop_comments)=(1); /*]*/ /*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r111command_arguments()))))->_upper/*8*//*)*/)<(1)) { r441put_string(((T441*)(oBC1std_error)),((T0*)ms1_111)); r111print_help(C,((T0*)ms2_111)); exit(1); } else { r111automat(C); } /*FI*/} /*No:COMPILE_TO_C.nb_errors*/ /*No:COMPILE_TO_C.help_suffix*/ T0*oBC364help_file_name=NULL; T0*oBC1std_error=NULL; void r111add_directory(T111* C,T0* a1,T0* a2){ /*IF*/if ((((T0*)ms17_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms19_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms15_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\72'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\72'); } else if ((((T0*)ms14_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms16_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms13_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms18_364))==((void*)(r111system_name(C)))) { r7set_last(((T7*)a1),'\135'); r7remove_last(((T7*)a1),1); r7set_last(((T7*)a1),'\56'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\135'); } /*FI*/} T0*oBC1std_output=NULL; /*No:COMPILE_TO_C.level*/ /*No:COMPILE_TO_C.windows_system*/ /*No:COMPILE_TO_C.us_compile_to_c*/ T0* r111get_environment_variable(T111* C,T0* a1){ T0* R=NULL; void* _p=0; _p=r7to_external(((T7*)a1)); R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p)); return R; } void r111print_help(T111* C,T0* a1){ r7copy(((T7*)(oBC364help_file_name)),r111small_eiffel_directory(C)); r111add_directory(C,oBC364help_file_name,((T0*)ms2_364)); r7append(((T7*)(oBC364help_file_name)),a1); /*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) { r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364)); } /*FI*//*IF*/if (!(r111file_exists(oBC364help_file_name))) { r306w_put_string(((T0*)ms3_364)); r306w_put_string(oBC364help_file_name); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name); } int fBC1command_arguments=0; T0*oBC1command_arguments=NULL; T0* r111command_arguments(void){ if (fBC1command_arguments==0){ T0* R=NULL; T0* _arg=NULL; int _i=0; fBC1command_arguments=1; _i=se_argc; {T927*n=malloc(sizeof(*n)); *n=M927; r927make(n,_i); R=(T0*)n; } while (!((_i)==(0))) { _i=(_i)-(1); _arg=((T0*)e2s(se_argv[_i])); /*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg); /*]*/ } oBC1command_arguments=R;} return oBC1command_arguments;} /*No:COMPILE_TO_C.us_make*/ T0* r111system_name(T111* C){ if (fBC364system_name==0){ T0* R=NULL; int _i=0; fBC364system_name=1; r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) { r7set_last(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) { r7set_last(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) { r7set_last(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) { r7set_last(((T7*)(oBC364tmp_path)),'\135'); r7remove_last(((T7*)(oBC364tmp_path)),1); r7extend(((T7*)(oBC364tmp_path)),'\56'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\135'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms20_364)); r306w_put_string(((T0*)ms127_470)); r306w_put_string(((T0*)ms21_364)); r306w_put_string(r111small_eiffel_directory(C)); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r675read_line(((T675*)(oBC364tmp_file_read))); R=oBC762last_string; _i=r52index_of(((T52*)(oBC364system_list)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) { r306w_put_string(((T0*)ms22_364)); r306w_put_string(oBC364tmp_path); r306w_put_string(((T0*)ms23_364)); _i=1; while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) { r306w_put_string(r52item(((T52*)(oBC364system_list)),_i)); r306w_put_character('\n'); _i=(_i)+(1); } } else { R=r52item(((T52*)(oBC364system_list)),_i); r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364)); r306put_string(((T306*)(oBC364echo)),R); r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470)); } /*FI*/oBC364system_name=R;} return oBC364system_name;} /*No:COMPILE_TO_C.fz_b0*/ /*No:COMPILE_TO_C.fz_se*/ /*No:COMPILE_TO_C.os2_system*/ /*No:COMPILE_TO_C.state*/ int r111file_exists(T0* a1){ int R=0; R=r670is_readable(a1); return R; } /*No:COMPILE_TO_C.argument_count*/ /*No:COMPILE_TO_C.macintosh_system*/ /*No:COMPILE_TO_C.fz_dot*/ void r111error_level(T111* C,T0* a1){ C->_state=9; /*[IRF3.6append*/{T0* b1=r111command_name(); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms1_765); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T111*)C))->_level/*4*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms2_765); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms67_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_error(((T683*)(oBC364eh))); } /*No:COMPILE_TO_C.start_proc*/ /*No:COMPILE_TO_C.c_suffix*/ T0* r111argument(int a1){ T0* R=NULL; R=/*(IRF4.6item*/((((T927*)((T927*)(r111command_arguments()))))->_storage/*0*/)[a1]/*)*/; return R; } T0* r111o_suffix(T111* C){ if (fBC364o_suffix==0){ T0* R=NULL; T0* _sn=NULL; fBC364o_suffix=1; _sn=r111system_name(C); {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,4); R=(T0*)n; } r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C)); r111add_directory(C,oBC364tmp_path,((T0*)ms126_470)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms28_364)); r7append(((T7*)(oBC364tmp_path)),_sn); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); r675read_line_in(((T675*)(oBC364tmp_file_read)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); oBC364o_suffix=R;} return oBC364o_suffix;} int r906id(T906* C){ int R=0; R=X291id((((T906*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_7.arguments*/ /*No:RUN_FEATURE_7.c_prototype*/ /*No:RUN_FEATURE_7.ucs_true*/ /*No:RUN_FEATURE_7.us_copy*/ void r906c_define(T906* C){ T0* _bcn=NULL; T0* _native=NULL; T0* _bf=NULL; _bf=(((T906*)C))->_base_feature/*44*/; _native=(((T883*)((T883*)_bf)))->_native/*48*/; _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/; X845c_define_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); } /*No:RUN_FEATURE_7.actuals_clients*/ void r906define_closing(T906* C){ /*IF*/if (r906use_current(C)) { r324current_class_invariant(((T324*)(oBC364cpp)),(((T906*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c(((T633*)((((T906*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { /*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324)); /*]*/ }/*]*/ } /*FI*/} /*No:RUN_FEATURE_7.ucs_in_computation*/ void r906make(T906* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r906run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r906initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r906std_compute_use_current(T906* C){ /*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T906*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T906*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T906*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_7.name*/ void r906mapping_name(T906* C){ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='r'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r906id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T906*)C))->_name/*16*/)); /*]*/ } int r906arg_count(T906* C){ int R=0; /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r906routine_afd_check(T906* C){ /*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T906*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T906*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T906*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_7.local_vars*/ void r906default_mapping_procedure(T906* C){ r906mapping_name(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_target_as_target(((T324*)(oBC364cpp))); /*IF*/if ((r906arg_count(C))>(0)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470)); /*]*/ } /*No:RUN_FEATURE_7.base_feature*/ void r906define_opening(T906* C){ T0* _t=NULL; int _i=0; /*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T906*)C))->_result_type/*24*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ X291c_type_for_result_in(_t,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'R'); r7extend(((T7*)(oBC496c_code)),'\75'); X291c_initialize_in(_t,oBC496c_code); r7append(((T7*)(oBC496c_code)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ } /*FI*//*IF*//*AF*//*AE*/ /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c_old(((T633*)((((T906*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { r324rs_link(((T324*)(oBC364cpp)),(T0*)C); /*IF*/if (r906use_current(C)) { /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=(((T906*)C))->_current_type/*4*/; r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1); }/*]*/ } /*FI*/_i=1; while (!((_i)>(r906arg_count(C)))) { _t=X291run_type(r31type(((T31*)((((T906*)C))->_arguments/*20*/)),_i)); r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t); _i=(_i)+(1); } /*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) { /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=X291run_type((((T906*)C))->_result_type/*24*/); r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1); }/*]*/ } /*FI*//*IF*//*AF*//*AE*/ /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_c(((T567*)((((T906*)C))->_require_assertion/*28*/))); } /*FI*/} /*No:RUN_FEATURE_7.start_position*/ /*No:RUN_FEATURE_7.fz_00*/ void r906c_define_with_body(T906* C,T0* a1){ r906define_prototype(C); r906define_opening(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ r906define_closing(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ } /*No:RUN_FEATURE_7.ensure_assertion*/ int r906is_exported_in(T906* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r906clients(C))),a1); return R; } void r906compute_use_current(T906* C){ /*IF*/if (r883use_current(((T883*)((((T906*)C))->_base_feature/*44*/)))) { C->_use_current_state=1004; } else { r906std_compute_use_current(C); } /*FI*/} /*No:RUN_FEATURE_7.fz_12*/ /*No:RUN_FEATURE_7.result_type*/ /*No:RUN_FEATURE_7.is_static*/ /*No:RUN_FEATURE_7.fz_14*/ void r906add_client(T906* C,T0* a1){ int _i=0; /*IF*/if (((((T906*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T906*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r906run_class(C))),a1); } /*No:RUN_FEATURE_7.require_assertion*/ /*No:RUN_FEATURE_7.use_current_state*/ void r906external_prototype(T906* C,T0* a1){ T0* _t=NULL; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ r7append(((T7*)(oBC496c_code)),((T0*)ms2_496)); _t=(((T906*)C))->_result_type/*24*/; /*IF*/if ((_t)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_external_in(_t,oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\40'); r7append(((T7*)(oBC496c_code)),X279external_c_name(a1)); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (X279use_current(a1)) { X291c_type_for_external_in((((T906*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(X279use_current(a1))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31external_prototype(((T31*)((((T906*)C))->_arguments/*20*/)),oBC496c_code); } /*FI*/r7append(((T7*)(oBC496c_code)),((T0*)ms3_496)); r324swap_on_h(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ } /*No:RUN_FEATURE_7.can_be_dropped*/ /*No:RUN_FEATURE_7.current_type*/ T0* r906run_class(T906* C){ T0* R=NULL; R=X291run_class((((T906*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_7.static_value_mem*/ void r906define_prototype(T906* C){ int _mem_id=0; _mem_id=r906id(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ /*IF*/if (((((T906*)C))->_result_type/*24*/)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_result_in(X291run_type((((T906*)C))->_result_type/*24*/),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'r'); r2append_in(_mem_id,oBC496c_code); X776mapping_c_in((((T906*)C))->_name/*16*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (r906use_current(C)) { X291c_type_for_target_in((((T906*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T906*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(r906use_current(C))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31compile_to_c_in(((T31*)((((T906*)C))->_arguments/*20*/)),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ } /*No:RUN_FEATURE_7.ucs_not_computed*/ void r906fall_down(T906* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T906*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T906*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T906*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_7.routine_body*/ /*No:RUN_FEATURE_7.fz_void*/ /*No:RUN_FEATURE_7.ucs_false*/ /*No:RUN_FEATURE_7.is_pre_computable*/ T0* r906clients(T906* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T906*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T906*)C))->_current_type/*4*/); _bfbc=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_clients/*20*/; } else { R=r605clients_for(((T605*)_bc),(((T906*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T906*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r906use_current(T906* C){ int R=0; {int z1=(((T906*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; r906compute_use_current(C); R=r906use_current(C); } else {R=1; }} return R; } void r906mapping_c(T906* C){ T0* _bcn=NULL; T0* _native=NULL; T0* _bf=NULL; _bf=(((T906*)C))->_base_feature/*44*/; _native=(((T883*)((T883*)_bf)))->_native/*48*/; _bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/; X845c_mapping_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); } /*No:RUN_FEATURE_7.address_of*/ void r906put_tag(T906* C){ T0* _fn=NULL; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776cpp_put_infix_or_prefix(_fn); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_7.clients_memory*/ void r906initialize(T906* C){ C->_arguments=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_arguments/*24*/; /*IF*/if ((((((T906*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T906*)C))->_arguments/*20*/)),(((T906*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T0*)ms64_473))==((void*)(X776to_string((((T906*)C))->_name/*16*/))))&&(X291is_expanded((((T906*)C))->_current_type/*4*/))) { } else { C->_require_assertion=r883run_require((T0*)C); } /*FI*/} /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r883run_ensure((T0*)C); } /*FI*/} /*No:RUN_FEATURE_7.afd_check*/ T0* r349to_runnable_integer(T349* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) { C->_e_when=a1; _e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/); /*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_integer(X662result_type(_e)))) { C->_expression=_e; C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/); r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C); } else { r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms60_470)); } /*FI*/R=(T0*)C; } else { {T349*n=malloc(sizeof(*n)); *n=M349; /*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/); /*]*/ R=(T0*)n; } R=r349to_runnable_integer(((T349*)R),a1); } /*FI*/return R; } /*No:WHEN_ITEM_1.make*/ /*No:WHEN_ITEM_1.expression*/ T0* r349start_position(T349* C){ T0* R=NULL; R=X662start_position((((T349*)C))->_expression/*8*/); return R; } /*No:WHEN_ITEM_1.clear_e_when*/ /*No:WHEN_ITEM_1.expression_value*/ /*No:WHEN_ITEM_1.fz_bcv*/ T0* r349twin(T349* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T349*)R)=*C; return R; } /*No:WHEN_ITEM_1.current_type*/ /*No:WHEN_ITEM_1.fz_biv*/ void r349error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r349to_runnable_character(T349* C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) { C->_e_when=a1; _e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/); /*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_character(X662result_type(_e)))) { C->_expression=_e; C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/); r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C); } else { r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms58_470)); } /*FI*/R=(T0*)C; } else { {T349*n=malloc(sizeof(*n)); *n=M349; /*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/); /*]*/ R=(T0*)n; } R=r349to_runnable_character(((T349*)R),a1); } /*FI*/return R; } /*No:WHEN_ITEM_1.e_when*/ /*No:EIFFEL_PARSER.cc*/ /*No:EIFFEL_PARSER.ok*/ void r818a_r5(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_minus=NULL; T0* _infix_plus=NULL; /*IF*/if (r818skip1(C,'\53')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e5(C)) { {T253*n=malloc(sizeof(*n)); *n=M253; r253make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_plus=(T0*)n; } r818a_r5(C,_infix_plus); } else { r818err_exp(_sp,((T0*)ms43_473)); } /*FI*/} else if (r818skip1(C,'\55')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e5(C)) { {T574*n=malloc(sizeof(*n)); *n=M574; r574make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_minus=(T0*)n; } r818a_r5(C,_infix_minus); } else { r818err_exp(_sp,((T0*)ms37_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e5(T818* C){ int R=0; R=r818a_e6(C); r818a_r6(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.arguments*/ /*No:EIFFEL_PARSER.fz_creation*/ /*No:EIFFEL_PARSER.em14*/ int r818a_binary(T818* C,T0* a1){ int R=0; R=1; /*IF*/if (r818skip2(C,'\74','\75')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms35_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\76','\75')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms32_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\57','\57')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms45_818),a1); C->_last_binary=(T0*)n; } } else if (r818skip2(C,'\134','\134')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms46_818),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\53')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms43_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\55')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms37_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\52')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms38_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\57')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms47_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\76')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms33_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\74')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms36_473),a1); C->_last_binary=(T0*)n; } } else if (r818skip1(C,'\136')) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms47_818),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms50_473))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms50_473),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms34_473))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms34_473),a1); C->_last_binary=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms27_473))) { /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms28_473),a1); C->_last_binary=(T0*)n; } } else { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms27_473),a1); C->_last_binary=(T0*)n; } } /*FI*/} else if (r818a_keyword(C,((T0*)ms41_473))) { /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms42_473),a1); C->_last_binary=(T0*)n; } } else { {T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,((T0*)ms41_473),a1); C->_last_binary=(T0*)n; } } /*FI*/} else { C->_last_binary=NULL; R=0; } /*FI*/return R; } void r818a_r6(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_div=NULL; T0* _infix_int_rem=NULL; T0* _infix_int_div=NULL; T0* _infix_times=NULL; /*IF*/if (r818skip1(C,'\52')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T414*n=malloc(sizeof(*n)); *n=M414; r414make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_times=(T0*)n; } r818a_r6(C,_infix_times); } else { r818err_exp(_sp,((T0*)ms38_473)); } /*FI*/} else if (r818skip2(C,'\57','\57')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T460*n=malloc(sizeof(*n)); *n=M460; r460make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_int_div=(T0*)n; } r818a_r6(C,_infix_int_div); } else { r818err_exp(_sp,((T0*)ms120_818)); } /*FI*/} else if (r818skip2(C,'\134','\134')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T453*n=malloc(sizeof(*n)); *n=M453; r453make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_int_rem=(T0*)n; } r818a_r6(C,_infix_int_rem); } else { r818err_exp(_sp,((T0*)ms121_818)); } /*FI*/} else if (r818skip1unless2(C,'\57','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e6(C)) { {T520*n=malloc(sizeof(*n)); *n=M520; r520make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_div=(T0*)n; } r818a_r6(C,_infix_div); } else { r818err_exp(_sp,((T0*)ms47_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e6(T818* C){ int R=0; R=r818a_e7(C); r818a_r7(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.em15*/ /*No:EIFFEL_PARSER.last_parent*/ void r818a_r7(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_power=NULL; /*IF*/if (r818skip1(C,'\136')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e7(C)) { {T557*n=malloc(sizeof(*n)); *n=M557; r557make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_power=(T0*)n; } r818a_r7(C,_infix_power); } else { r818err_exp(_sp,((T0*)ms122_818)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e7(T818* C){ int R=0; R=r818a_e8(C); r818a_r8(C,(((T818*)C))->_last_expression/*97*/); return R; } int r818a_boolean_constant(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms47_470))) { {T849*n=malloc(sizeof(*n)); *n=M849; /*[IRF3.3make*/((((T849*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_boolean_constant=(T0*)n; } R=1; } else if (r818a_keyword(C,((T0*)ms17_470))) { {T367*n=malloc(sizeof(*n)); *n=M367; /*[IRF3.3make*/((((T367*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_boolean_constant=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_type*/ int r818a_base_type(T818* C){ int R=0; T0* _sp=NULL; R=1; /*IF*/if (r818a_keyword(C,((T0*)ms1_473))) { {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms2_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T709*n=malloc(sizeof(*n)); *n=M709; r709make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms40_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms18_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T933*n=malloc(sizeof(*n)); *n=M933; r933make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms41_818)); } /*FI*/} else if (r818a_keyword(C,((T0*)ms42_818))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) { {T933*n=malloc(sizeof(*n)); *n=M933; r933make(n,_sp,(((T818*)C))->_last_type/*157*/); C->_last_base_type=(T0*)n; } } else { r818fcp(C,((T0*)ms43_818)); } /*FI*/r818warning(_sp,((T0*)ms44_818)); } else if (r818a_keyword(C,((T0*)ms6_473))) { {T707*n=malloc(sizeof(*n)); *n=M707; r707make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms8_473))) { {T252*n=malloc(sizeof(*n)); *n=M252; r252make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms11_473))) { {T388*n=malloc(sizeof(*n)); *n=M388; r388make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms15_473))) { {T788*n=malloc(sizeof(*n)); *n=M788; r788make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms19_473))) { {T284*n=malloc(sizeof(*n)); *n=M284; r284make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms21_473))) { {T900*n=malloc(sizeof(*n)); *n=M900; r900make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms23_473))) { {T209*n=malloc(sizeof(*n)); *n=M209; r209make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms25_473))) { {T491*n=malloc(sizeof(*n)); *n=M491; r491make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_base_type=(T0*)n; } } else { R=0; } /*FI*/return R; } /*No:EIFFEL_PARSER.em16*/ /*No:EIFFEL_PARSER.nb_warnings*/ /*No:EIFFEL_PARSER.last_expression*/ /*No:EIFFEL_PARSER.last_character_constant*/ void r818a_r8(T818* C,T0* a1){ T0* _infix_freeop=NULL; T0* _infix_name=NULL; /*IF*/if (r818a_free_operator(C)) { _infix_name=r511to_infix_name_use(((T511*)(oBC818tmp_name))); /*IF*/if (r818a_e8(C)) { {T534*n=malloc(sizeof(*n)); *n=M534; r534make(n,a1,_infix_name,(((T818*)C))->_last_expression/*97*/); _infix_freeop=(T0*)n; } r818a_r8(C,_infix_freeop); } else { r818err_exp((((T454*)((T454*)_infix_name)))->_start_position/*8*/,(((T454*)((T454*)_infix_name)))->_to_string/*4*/); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e8(T818* C){ int R=0; T0* _sp=NULL; T0* _prefix_freeop=NULL; T0* _op=NULL; T0* _prefix_moins=NULL; T0* _prefix_plus=NULL; T0* _prefix_not=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T180*n=malloc(sizeof(*n)); *n=M180; r180make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_not=(T0*)n; } C->_last_expression=_prefix_not; R=1; } else { r818err_exp(_sp,((T0*)ms40_473)); } /*FI*/} else if (r818skip1(C,'\53')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T767*n=malloc(sizeof(*n)); *n=M767; r767make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_plus=(T0*)n; } C->_last_expression=_prefix_plus; R=1; } else { r818err_exp(_sp,((T0*)ms73_818)); } /*FI*/} else if (r818skip1(C,'\55')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e8(C)) { {T72*n=malloc(sizeof(*n)); *n=M72; r72make(n,_sp,(((T818*)C))->_last_expression/*97*/); _prefix_moins=(T0*)n; } C->_last_expression=_prefix_moins; R=1; } else { r818err_exp(_sp,((T0*)ms74_818)); } /*FI*/} else if (r818a_free_operator(C)) { _op=r511to_prefix_name(((T511*)(oBC818tmp_name))); /*IF*/if (r818a_e8(C)) { {T990*n=malloc(sizeof(*n)); *n=M990; /*[IRF3.6make*/{T990* C1=n; T0* b1=(((T818*)C))->_last_expression/*97*/; T0* b2=_op; r990make_call0(C1,b1,b2); }/*]*/ _prefix_freeop=(T0*)n; } C->_last_expression=_prefix_freeop; R=1; } else { /*[IRF3.6append*/{T0* b1=((T0*)ms75_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r818err_exp((((T406*)((T406*)_op)))->_start_position/*8*/,(((T406*)((T406*)_op)))->_to_string/*4*/); } /*FI*/} else { R=r818a_e9(C); } /*FI*/return R; } int r818a_feature_declaration(T818* C){ int R=0; r505initialize(((T505*)(oBC818tmp_feature))); /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) { /*IF*/if (r818a_feature_name(C)) { R=1; X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1); /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { r818fcp(C,((T0*)ms140_818)); } /*FI*/} else if (r818a_feature_name(C)) { R=1; /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } /*FI*/while (!(!(r818skip1(C,'\54')))) { /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) { /*IF*/if (r818a_feature_name(C)) { X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1); /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { r818fcp(C,((T0*)ms92_818)); } /*FI*/} else if (r818a_feature_name(C)) { /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/; r855add_last(((T855*)(oBC505names)),b1); }/*]*/ } else { /*[IRF3.6ecp*/{T818* C1=C; T0* b1=((T0*)ms93_818); r818error(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*IF*/if (R) { r818a_formal_arg_list(C); C->_function_type=NULL; /*IF*/if (r818skip1(C,'\72')) { /*IF*/if (r818a_type(C)) { C->_function_type=(((T818*)C))->_last_type/*157*/; /*[IRF3.3set_type*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_type)=((((T818*)C))->_last_type/*157*/); /*]*/ } else { r818fcp(C,((T0*)ms156_818)); } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms27_470))) { /*IF*/if (r818a_keyword(C,((T0*)ms49_470))) { C->_last_feature_declaration=r505to_cst_att_unique(((T505*)(oBC818tmp_feature))); } else if (r818a_boolean_constant(C)) { C->_last_feature_declaration=r505to_cst_att_boolean(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_boolean_constant/*81*/); } else if (r818a_character_constant(C)) { C->_last_feature_declaration=r505to_cst_att_character(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_character_constant/*85*/); } else if (r818a_manifest_string(C)) { C->_last_feature_declaration=r505to_cst_att_string(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_manifest_string/*145*/); } else if (r818a_bit_constant(C)) { C->_last_feature_declaration=r505to_cst_att_bit(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_bit_constant/*77*/); } else if (r818a_real_constant(C)) { C->_last_feature_declaration=r505to_cst_att_real(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_real_constant/*153*/); } else if (r818a_integer_constant(C)) { C->_last_feature_declaration=r505to_cst_att_integer(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_integer_constant/*129*/); } else { C->_last_feature_declaration=r818a_routine(C); } /*FI*/} else { C->_last_feature_declaration=r505to_writable_attribute(((T505*)(oBC818tmp_feature))); } /*FI*/C->_function_type=NULL; C->_arguments=NULL; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_integer*/ /*No:EIFFEL_PARSER.em17*/ int r818a_integer_constant(T818* C){ int R=0; int _c=0; int _l=0; /*IF*/if (r818skip1(C,'\53')) { _l=(((T818*)C))->_start_line/*169*/; _c=(((T818*)C))->_start_column/*165*/; /*IF*/if (r818a_integer(C)) { r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c); R=1; } else { r818fcp(C,((T0*)ms69_470)); } /*FI*/} else if (r818skip1(C,'\55')) { _l=(((T818*)C))->_start_line/*169*/; _c=(((T818*)C))->_start_column/*165*/; /*IF*/if (r818a_integer(C)) { r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c); r342unary_minus(((T342*)((((T818*)C))->_last_integer_constant/*129*/))); R=1; } else { r818fcp(C,((T0*)ms69_470)); } /*FI*/} else { R=r818a_integer(C); } /*FI*/return R; } void r818a_creation_clause(T818* C,T0* a1){ T0* _creation_clause=NULL; T0* _list=NULL; T0* _comments=NULL; T0* _clients=NULL; _clients=r818a_clients(C); _comments=r818get_comments(C); /*IF*/if (r818a_feature_list(C)) { _list=(((T818*)C))->_last_feature_list/*105*/; } /*FI*/{T583*n=malloc(sizeof(*n)); *n=M583; r583make(n,a1,_clients,_comments,_list); _creation_clause=(T0*)n; } r605add_creation_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_creation_clause); } int r818a_e9(T818* C){ int R=0; T0* _e_old=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms34_470))) { /*IF*/if (!((((T818*)C))->_in_ensure/*37*/)) { r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms76_818)); } /*FI*//*IF*/if (r818a_e10(C)) { {T664*n=malloc(sizeof(*n)); *n=M664; /*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T818*)C))->_last_expression/*97*/); /*]*/ _e_old=(T0*)n; } C->_last_expression=_e_old; R=1; } else { r818fcp(C,((T0*)ms77_818)); } /*FI*/} else { R=r818a_e10(C); } /*FI*/return R; } int r818a_index_value(T818* C){ int R=0; /*IF*/if (r818a_identifier(C)) { C->_last_index_value=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); R=1; } else if (r818a_manifest_constant(C)) { C->_last_index_value=(((T818*)C))->_last_manifest_constant/*141*/; R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.em18*/ void r818a_new_export_list(T818* C){ int _state=0; T0* _new_export_item=NULL; T0* _items=NULL; T0* _clients=NULL; T0* _sp=NULL; T0* _export_list=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms15_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\173')) { _clients=r818a_clients(C); _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } else { /*IF*/if ((_items)!=((void*)(NULL))) { {T671*n=malloc(sizeof(*n)); *n=M671; r671make(n,_sp,_items); _export_list=(T0*)n; } /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list); /*]*/ } /*FI*/_state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_keyword(C,((T0*)ms2_470))) { {T542*n=malloc(sizeof(*n)); *n=M542; r542make_all(n,_clients); _new_export_item=(T0*)n; } /*IF*/if ((_items)==((void*)(NULL))) { _items=se_ma587(1,_new_export_item); } else { r587add_last(((T587*)_items),_new_export_item); } /*FI*/_state=2; } else { /*IF*/if (r818a_feature_list(C)) { {T542*n=malloc(sizeof(*n)); *n=M542; r542make(n,_clients,(((T818*)C))->_last_feature_list/*105*/); _new_export_item=(T0*)n; } /*IF*/if ((_items)==((void*)(NULL))) { _items=se_ma587(1,_new_export_item); } else { r587add_last(((T587*)_items),_new_export_item); } /*FI*/_state=2; } else { _state=3; } /*FI*/} /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\73')) { _state=0; } else if (((((T818*)C))->_cc/*24*/)==('\173')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ _state=0; } else { /*IF*/if ((_items)!=((void*)(NULL))) { {T671*n=malloc(sizeof(*n)); *n=M671; r671make(n,_sp,_items); _export_list=(T0*)n; } /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list); /*]*/ } /*FI*/_state=4; } /*FI*/} else{r818fcp(C,((T0*)ms149_818)); _state=4; }} } } /*FI*/} /*No:EIFFEL_PARSER.last_manifest_string*/ /*No:EIFFEL_PARSER.last_base_type*/ /*No:EIFFEL_PARSER.em19*/ /*No:EIFFEL_PARSER.last_comments*/ int r818a_retry(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms42_470))) { /*IF*/if (!((((T818*)C))->_in_rescue/*41*/)) { r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms30_818)); } /*FI*/{T526*n=malloc(sizeof(*n)); *n=M526; /*[IRF3.3make*/((((T526*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ C->_last_instruction=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.drop_comments*/ int r818a_e10(T818* C){ int R=0; /*IF*/if (r818a_strip(C)) { R=1; } else if (r818skip1(C,'\50')) { R=1; /*IF*/if (r818a_expression(C)) { /*IF*/if (r818skip1(C,'\51')) { r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818fcp(C,((T0*)ms78_818)); } /*FI*/} else { r818fcp(C,((T0*)ms79_818)); } /*FI*/} else if (r818a_manifest_constant(C)) { C->_last_expression=(((T818*)C))->_last_manifest_constant/*141*/; R=1; /*IF*/if (r818skip1unless2(C,'\56','\56')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms80_818); r818warning(r818current_position(C1),b1); }/*]*/ r818a_after_a_dot(C,0,(((T818*)C))->_last_expression/*97*/); } /*FI*/} else if (r818a_identifier(C)) { R=1; /*IF*/if (((((r818a_result(C))||(r818a_current(C)))||(r818a_void(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) { r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL); } else { r818a_function_call(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.last_prefix*/ void r818a_r10(T818* C,int a1,T0* a2,T0* a3,T0* a4){ /*IF*/if (r818skip1unless2(C,'\56','\56')) { r818a_after_a_dot(C,a1,r818to_call(a2,a3,a4)); } else { /*IF*/if (a1) { C->_last_instruction=r818to_proc_call(C,a2,a3,a4); C->_last_expression=NULL; } else { C->_last_expression=r818to_call(a2,a3,a4); C->_last_instruction=NULL; } /*FI*/} /*FI*/} void r818skip_comments(T818* C){ int _state=0; T0* _sp=NULL; while (!((_state)==(2))) { {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((9<=z2)&&(z2<=10))||(32==z2)){ r818next_char(C); } else if((45==z2)){ r818next_char(C); _state=1; } else{_state=2; }} } else {{int z2=(((T818*)C))->_cc/*24*/; if((45==z2)){ /*IF*/if ((((T818*)C))->_drop_comments/*4*/) { } else { /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,((((T818*)C))->_column/*12*/)-(1)); _sp=(T0*)n; } } /*FI*/} /*FI*/r818next_char(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818lcs)))))->_count)=(0); /*]*/ while (!(((((T818*)C))->_cc/*24*/)==('\n'))) { r7extend(((T7*)(oBC818lcs)),(((T818*)C))->_cc/*24*/); r818next_char(C); } /*IF*/if ((((T818*)C))->_drop_comments/*4*/) { } else { /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) { {T393*n=malloc(sizeof(*n)); *n=M393; r393make(n,_sp,se_ma52(1,r7twin(((T7*)(oBC818lcs))))); C->_last_comments=(T0*)n; } } else { /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)((T393*)((((T818*)C))->_last_comments/*25*/))))->_list/*4*/)),r7twin(((T7*)(oBC818lcs)))); /*]*/ } /*FI*/} /*FI*/_state=0; } else{r818prev_char(C); _state=2; }} }} } } /*No:EIFFEL_PARSER.last_class_type*/ /*No:EIFFEL_PARSER.us_array*/ /*No:EIFFEL_PARSER.fz_c_withoutcurrent*/ T0* r818to_proc_call(T818* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if ((a2)==((void*)(NULL))) { r818fcp(C,((T0*)ms135_818)); } else if ((a3)==((void*)(NULL))) { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,a1,a2); R=(T0*)n; } } else if ((X431count(a3))==(1)) { {T317*n=malloc(sizeof(*n)); *n=M317; r317make(n,a1,a2,a3); R=(T0*)n; } } else { {T568*n=malloc(sizeof(*n)); *n=M568; r568make(n,a1,a2,a3); R=(T0*)n; } } /*FI*/return R; } int r818a_tag_mark(T818* C){ int R=0; /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818skip1unless2(C,'\72','\75')) { R=1; C->_last_tag_mark=r511to_tag_name(((T511*)(oBC818tmp_name))); } else { C->_last_tag_mark=NULL; r818go_back_at(C,(((T511*)((T511*)(oBC818tmp_name))))->_li/*8*/,(((T511*)((T511*)(oBC818tmp_name))))->_co/*4*/); } /*FI*/} else { C->_last_tag_mark=NULL; } /*FI*/return R; } /*No:EIFFEL_PARSER.nb_errors*/ /*No:EIFFEL_PARSER.start_line*/ void r818a_index_list(T818* C){ while (!(!(r818a_index_clause(C)))) { C->_ok=r818skip1(C,'\73'); } } /*No:EIFFEL_PARSER.last_real_constant*/ T0* r818a_external(T818* C){ T0* R=NULL; T0* _l=NULL; /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms157_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { C->_ok=r818skip1(C,'\42'); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms121_470))) { {T85*n=malloc(sizeof(*n)); *n=M85; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms98_470))) { {T893*n=malloc(sizeof(*n)); *n=M893; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms90_470))) { {T240*n=malloc(sizeof(*n)); *n=M240; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms99_470))) { {T320*n=malloc(sizeof(*n)); *n=M320; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms91_470))) { {T680*n=malloc(sizeof(*n)); *n=M680; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms81_818))) { {T85*n=malloc(sizeof(*n)); *n=M85; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms82_818),((T0*)ms121_470)); } else if (r818a_keyword(C,((T0*)ms83_818))) { {T893*n=malloc(sizeof(*n)); *n=M893; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms84_818),((T0*)ms98_470)); } else if (r818a_keyword(C,((T0*)ms85_818))) { {T240*n=malloc(sizeof(*n)); *n=M240; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms86_818),((T0*)ms90_470)); } else if (r818a_keyword(C,((T0*)ms87_818))) { {T320*n=malloc(sizeof(*n)); *n=M320; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms88_818))) { {T680*n=malloc(sizeof(*n)); *n=M680; _l=(T0*)n; } r818wcpefnc(C,((T0*)ms89_818),((T0*)ms91_470)); } else if (r818a_keyword(C,((T0*)ms28_470))) { {T300*n=malloc(sizeof(*n)); *n=M300; _l=(T0*)n; } } else if (r818a_keyword(C,((T0*)ms29_470))) { {T970*n=malloc(sizeof(*n)); *n=M970; _l=(T0*)n; } } else { r818fcp(C,((T0*)ms90_818)); } /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms157_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { C->_ok=r818skip1(C,'\42'); } /*FI*/R=r505to_external_routine(((T505*)(oBC818tmp_feature)),_l,r818a_alias(C)); return R; } /*No:EIFFEL_PARSER.show_nb_errors*/ int r818a_class_type(T818* C){ int R=0; T0* _generic_list=NULL; T0* _base_class_name=NULL; int _state=0; /*IF*/if (r818a_base_type(C)) { C->_last_class_type=(((T818*)C))->_last_base_type/*69*/; R=1; } else if (r818a_base_class_name(C)) { R=1; _base_class_name=(((T818*)C))->_last_class_name/*89*/; while (!((_state)>(2))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\133')) { _state=1; } else { {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name); /*]*/ C->_last_class_type=(T0*)n; } _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_generic_list)==((void*)(NULL))) { _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/); } else { r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/); } /*FI*/_state=2; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms150_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else if (((((T818*)C))->_cc/*24*/)==('\135')) { _state=2; } else { r818fcp(C,((T0*)ms156_818)); _state=2; } /*FI*/} else{/*IF*/if (r818skip1(C,'\54')) { _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\135')) { /*IF*/if ((_generic_list)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms54_818); r818warning(r818current_position(C1),b1); }/*]*/ {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name); /*]*/ C->_last_class_type=(T0*)n; } } else { {T720*n=malloc(sizeof(*n)); *n=M720; r720make(n,_base_class_name,_generic_list); C->_last_class_type=(T0*)n; } } /*FI*/C->_ok=r818skip1(C,'\135'); _state=3; } else if (r818a_type(C)) { /*IF*/if ((_generic_list)==((void*)(NULL))) { _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/); } else { r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/); } /*FI*/r818warning(X291start_position((((T818*)C))->_last_type/*157*/),((T0*)ms143_818)); } else { r818fcp(C,((T0*)ms55_818)); _state=3; } /*FI*/}} } } /*FI*/return R; } T0* r818analyse_class(T818* C,T0* a1){ T0* R=NULL; T0* _path=NULL; int _old_nbw=0; int _old_nbe=0; _path=(((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/; /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) { /*[IRF3.6append*/{T0* b1=((T0*)ms1_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/r306put_integer(((T306*)(oBC364echo)),(/*(IRF4.9base_class_count*/(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*40*//*)*/)+(1)); r306put_character(((T306*)(oBC364echo)),'\11'); r306put_string(((T306*)(oBC364echo)),_path); r306put_character(((T306*)(oBC364echo)),'\n'); _old_nbe=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; _old_nbw=/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/; C->_is_running=1; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; C->_ms_numbering=0; C->_line=1; C->_column=1; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/{T605*n=malloc(sizeof(*n)); *n=M605; r605make(n); C->_last_base_class=(T0*)n; } r818skip_comments(C); r818a_class_declaration(C); C->_is_running=0; /*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL); /*]*/ R=(((T818*)C))->_last_base_class/*65*/; /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_old_nbe))>(0)) { /*[IRF3.2show_nb_errors*/r818show_nb(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/,((T0*)ms10_818)); /*]*/ r306w_put_string(((T0*)ms4_818)); r306w_put_string(_path); r306w_put_string(((T0*)ms5_818)); R=NULL; } else if (((/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/)-(_old_nbw))>(0)) { /*[IRF3.2show_nb_warnings*/r818show_nb(/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/,((T0*)ms9_818)); /*]*/ } /*FI*//*IF*/if ((R)!=((void*)(NULL))) { r604add_class(((T604*)(oBC364small_eiffel)),R); /*IF*/if (((a1)!=((void*)(NULL)))&&(((((T451*)((T451*)a1)))->_to_string/*0*/)!=((void*)((((T451*)((T451*)((((T605*)((T605*)R)))->_base_class_name/*24*/))))->_to_string/*0*/)))) { r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/); /*[IRF3.6append*/{T0* b1=((T0*)ms135_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=_path; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms6_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/r605get_started(((T605*)R)); } /*FI*/return R; } T0*oBC818tmp_feature=NULL; T0* r818parse_c_name(T818* C){ T0* R=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,32); R=(T0*)n; } while (!(r3is_separator((((T818*)C))->_cc/*24*/))) { r7extend(((T7*)R),(((T818*)C))->_cc/*24*/); r818next_char(C); } r818skip_comments(C); return R; } void r818disconnect(T818* C){ C->_is_running=0; /*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL); /*]*/ } int r818a_character_constant(T818* C){ int R=0; char _value=0; int _printing_mode=0; int _state=0; T0* _sp=NULL; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\47')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); _sp=(T0*)n; } R=1; while (!((_state)>(2))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((37==z2)){ _state=1; } else if((39==z2)){ r818fcp(C,((T0*)ms148_818)); _state=2; } else{_value=(((T818*)C))->_cc/*24*/; _printing_mode=0; _state=2; }} } else if((1==z1)){ _printing_mode=1; _state=2; {int z2=(((T818*)C))->_cc/*24*/; if((65==z2)){ _value='\100'; } else if((66==z2)){ _value='\10'; } else if((67==z2)){ _value='\136'; } else if((68==z2)){ _value='\44'; } else if((70==z2)){ _value='\14'; } else if((72==z2)){ _value='\134'; } else if((76==z2)){ _value='\176'; } else if((78==z2)){ _value='\n'; } else if((81==z2)){ _value='\140'; } else if((82==z2)){ _value='\15'; } else if((83==z2)){ _value='\43'; } else if((84==z2)){ _value='\11'; } else if((85==z2)){ _value='\0'; } else if((86==z2)){ _value='\174'; } else if((37==z2)){ _value='\45'; } else if((39==z2)){ _value='\47'; } else if((34==z2)){ _value='\42'; } else if((40==z2)){ _value='\133'; } else if((41==z2)){ _value='\135'; } else if((60==z2)){ _value='\173'; } else if((62==z2)){ _value='\175'; } else if((47==z2)){ r818a_ascii_code(C); _value=((char)((((T818*)C))->_last_ascii_code/*61*/)); _printing_mode=2; } else{r818fcp(C,((T0*)ms24_818)); }} } else{_state=3; {int z2=(((T818*)C))->_cc/*24*/; if((39==z2)){ } else{r818fcp(C,((T0*)ms148_818)); }} r818next_char(C); r818skip_comments(C); }} } {T260*n=malloc(sizeof(*n)); *n=M260; r260make(n,_sp,_value,_printing_mode); C->_last_character_constant=(T0*)n; } } /*FI*/return R; } int r818a_check(T818* C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms4_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T292*n=malloc(sizeof(*n)); *n=M292; r292make(n,_sp,_hc,_al); C->_last_instruction=(T0*)n; } } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms48_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { r818fcp(C,((T0*)ms49_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.go_back*/ /*No:EIFFEL_PARSER.current_class*/ /*No:EIFFEL_PARSER.fz_export*/ /*No:EIFFEL_PARSER.fz_invariant*/ /*No:EIFFEL_PARSER.us_or_else*/ /*No:EIFFEL_PARSER.is_running*/ int r818a_result(T818* C){ int R=0; /*IF*/if (r511is_result()) { /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) { r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818)); } /*FI*/C->_last_expression=r511to_e_result(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } int r818a_manifest_string(T818* C){ int R=0; int _state=0; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { R=1; C->_ms_numbering=((((T818*)C))->_ms_numbering/*57*/)+(1); {T805*n=malloc(sizeof(*n)); *n=M805; r805make(n,r818pos((((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/),(((T818*)C))->_ms_numbering/*57*/); C->_last_manifest_string=(T0*)n; } while (!((_state)>(3))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ r818fcp(C,((T0*)ms146_818)); } else if((34==z2)){ _state=4; } else if((37==z2)){ _state=1; } else{/*[IRF3.5add*/r7extend(((T7*)((((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/)),(((T818*)C))->_cc/*24*/); /*]*/ }} } else if((1==z1)){ _state=0; {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ _state=3; } else if((65==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\100'); } else if((66==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\10'); } else if((67==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\136'); } else if((68==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\44'); } else if((70==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\14'); } else if((72==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\134'); } else if((76==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\176'); } else if((78==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\n'); } else if((81==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\140'); } else if((82==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\15'); } else if((83==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\43'); } else if((84==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\11'); } else if((85==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\0'); } else if((86==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\174'); } else if((37==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\45'); } else if((39==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\47'); } else if((34==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\42'); } else if((40==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\133'); } else if((41==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\135'); } else if((60==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\173'); } else if((62==z2)){ r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\175'); } else if((47==z2)){ r818a_ascii_code(C); r805add_ascii(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),((char)((((T818*)C))->_last_ascii_code/*61*/))); } else if((9==z2)||(32==z2)){ _state=2; } else{r818fcp(C,((T0*)ms26_818)); _state=0; }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if((10==z2)){ _state=3; } else if((9==z2)||(32==z2)){ } else{r818fcp(C,((T0*)ms27_818)); }} } else{{int z2=(((T818*)C))->_cc/*24*/; if((9==z2)||(32==z2)){ } else if((37==z2)){ r805break_line(((T805*)((((T818*)C))->_last_manifest_string/*145*/))); _state=0; } else if((10==z2)){ r818fcp(C,((T0*)ms146_818)); _state=0; } else{r818fcp(C,((T0*)ms28_818)); _state=0; }} }} } r818next_char(C); r818skip_comments(C); } /*FI*/return R; } void r818a_function_call(T818* C){ T0* _e_current=NULL; T0* _sfn=NULL; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } r818a_r10(C,0,_e_current,_sfn,r818a_actuals(C)); } /*No:EIFFEL_PARSER.fz_01*/ int r818a_real_constant(T818* C){ int R=0; int _c=0; int _l=0; _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*IF*/if (r818skip1(C,'\53')) { /*IF*/if (r818a_real(C)) { r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c); R=1; } else { r818go_back_at(C,_l,_c); } /*FI*/} else if (r818skip1(C,'\55')) { /*IF*/if (r818a_real(C)) { r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c); /*[IRF3.5unary_minus*/r7add_first(((T7*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_to_string/*16*/)),'\55'); /*]*/ R=1; } else { r818go_back_at(C,_l,_c); } /*FI*/} else if (r818a_real(C)) { R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_inspect*/ void r818show_nb(int a1,T0* a2){ /*IF*/if ((a1)>(0)) { r306w_put_string(((T0*)ms75_470)); r306w_put_integer(a1); r306w_put_string(a2); } /*FI*/} /*No:EIFFEL_PARSER.fz_c_withcurrent*/ /*No:EIFFEL_PARSER.fz_03*/ /*No:EIFFEL_PARSER.fz_rename*/ T0* r818parse_feature_name(T818* C){ T0* R=NULL; /*IF*/if (r818a_feature_name(C)) { R=(((T818*)C))->_last_feature_name/*109*/; } else { r818fcp(C,((T0*)ms140_818)); } /*FI*/return R; } T0* r818connect_to_cecil(T818* C){ T0* R=NULL; T0* _path=NULL; _path=(((T590*)((T590*)(oBC364run_control))))->_cecil_path/*12*/; r306put_string(((T306*)(oBC364echo)),((T0*)ms7_818)); r306put_string(((T306*)(oBC364echo)),_path); r306put_character(((T306*)(oBC364echo)),'\n'); r676load_file(((T676*)(oBC364parser_buffer)),_path); /*IF*/if (!(/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/)) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_is_running=1; C->_formal_generic_list=NULL; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; C->_line=1; C->_column=1; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) { C->_cc='\n'; } else { C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/; } /*FI*/r818skip_comments(C); {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,32); R=(T0*)n; } while (!(((((T818*)C))->_cc/*24*/)==('\n'))) { r7extend(((T7*)R),(((T818*)C))->_cc/*24*/); r818next_char(C); } r818skip_comments(C); return R; } int r818a_identifier1(T818* C){ int R=0; int _state=0; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((65<=z1)&&(z1<=90))){ /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } /*IF*/if (r511isa_keyword()) { _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/; while (!((_state)==(0))) { _state=(_state)-(1); r818prev_char(C); } } else { R=1; r818skip_comments(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_once*/ /*No:EIFFEL_PARSER.ecp*/ void r818fcp(T818* C,T0* a1){ r683add_position(r818current_position(C)); /*[IRF3.6fatal_error*/{T0* b1=a1; r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } int r818a_conditional(T818* C){ int R=0; T0* _ifthenelse=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms21_470))) { R=1; {T530*n=malloc(sizeof(*n)); *n=M530; /*[IRF3.3make*/((((T530*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*]*/ _ifthenelse=(T0*)n; } r818a_then_part_list(C,_ifthenelse); /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { /*[IRF3.3set_else_compound*/((((T530*)(((T530*)_ifthenelse))))->_else_compound)=(r818a_compound2(C,((T0*)ms60_818),((T0*)ms12_470))); /*]*/ } else { /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms61_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/C->_last_instruction=_ifthenelse; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_real*/ void r818a_procedure_call(T818* C){ T0* _e_current=NULL; T0* _sfn=NULL; _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); {T358*n=malloc(sizeof(*n)); *n=M358; r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0); _e_current=(T0*)n; } r818a_r10(C,1,_e_current,_sfn,r818a_actuals(C)); } /*No:EIFFEL_PARSER.us_implies*/ T0*oBC818tmp_string=NULL; int r818a_integer(T818* C){ int R=0; int _value=0; int _state=0; /*IF*/if (r3is_digit((((T818*)C))->_cc/*24*/)) { R=1; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; _value=r3value((((T818*)C))->_cc/*24*/); while (!((_state)>(7))) { r818next_char(C); {int z1=_state; if((0==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=1; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((1==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=2; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((2==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=3; } else if((95==z2)){ _state=4; } else{_state=8; }} } else if((3==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); } else if((95==z2)){ r818fcp(C,((T0*)ms147_818)); } else{_state=8; }} } else if((4==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=5; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((5==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=6; } else{r818fcp(C,((T0*)ms147_818)); }} } else if((6==z1)){ {int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/)); _state=7; } else{r818fcp(C,((T0*)ms147_818)); }} } else {{int z2=(((T818*)C))->_cc/*24*/; if(((48<=z2)&&(z2<=57))){ r818fcp(C,((T0*)ms147_818)); } else if((95==z2)){ _state=4; } else{_state=8; }} }} } /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r818fcp(C,((T0*)ms158_818)); } /*FI*/r818skip_comments(C); {T342*n=malloc(sizeof(*n)); *n=M342; r342make(n,_value,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_integer_constant=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.last_binary*/